// src/renderer/store/project.js

import { defineStore } from 'pinia'
import { useRoute, useRouter } from 'vue-router'

export const useProjectStore = defineStore('project', {
  state: () => ({
    // 项目名称
    projectName: '深度学习标注',
    // 图像文件列表，格式为 { name: string, path: string }
    images: [],
    // 当前正在标注的图片路径
    currentImage: null
  }),

  actions: {
    /**
     * 设置导入的图片列表
     * @param {string[]} filePaths - 从主进程获取的文件路径数组
     */
    setImages(filePaths) {
      this.images = filePaths.map(p => ({
        // 从完整路径中提取文件名
        name: p.split(/[\\/]/).pop(),
        path: p,
        annotated: false
      }))
    },

    /**
     * 设置当前要标注的图片
     * @param {string} imagePath - 图片的完整路径
     */
    setCurrentImage(imagePath) {
      this.currentImage = imagePath
    },

    /**
     * 清空图片列表
     */
    clearImages() {
      this.images = []
      this.currentImage = null
    },

    /**
     * 标记图片为已标注
     * @param {string} imagePath - 图片路径
     */
    markAsAnnotated(imagePath) {
      const image = this.images.find(img => img.path === imagePath)
      if (image) {
        image.annotated = true
      }
    }
  }
})